<!DOCTYPE html>
<title>Remove the child of the fullscreen element</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../trusted-click.js"></script>
<div id="log"></div>
<div id="parent">
    <div></div>
</div>
<script>
async_test(function(t)
{
    t.add_cleanup(() => {
        Promise.resolve(document.exitFullscreen()).catch(() => {});
    });
    var parent = document.getElementById("parent");
    trusted_request(t, parent);
    document.onfullscreenchange = t.step_func(function()
    {
        assert_equals(document.fullscreenElement, parent);
        parent.textContent = ""; // removes all children
        // The fullscreen element should not be affected.
        assert_equals(document.fullscreenElement, parent);
        document.onfullscreenchange = t.unreached_func("fullscreenchange event");
        // A fullscreenchange event would be fired after an async section
        // and an animation frame task, so wait until after that.
        t.step_timeout(function()
        {
            requestAnimationFrame(t.step_func_done());
        }, 0);
    });
});
</script>
